package com.skywolf.chem.match.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDateTime;
import com.skywolf.chem.common.sysconfig.pojo.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 订单详情表
 * </p>
 *
 * @author sj
 * @since 2021-09-24
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("match_order")
@ApiModel(value="Order对象", description="订单详情表")
public class Order extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "订单号")
    private String orderSn;

    @ApiModelProperty(value = "订单总额（分）")
    private Long totalAmount;

    @ApiModelProperty(value = "订单报名人总数")
    private Integer totalQuantity;

    @ApiModelProperty(value = "订单状态：101->待付款；102->用户取消；103->系统取消；201->已付款；202->申请退款；203->已退款；901->已完成；")
    private Integer status;

    @ApiModelProperty(value = "应付总额（分）")
    private Long payAmount;

    @ApiModelProperty(value = "支付时间")
    private LocalDateTime payTime;

    @ApiModelProperty(value = "支付方式【1->微信jsapi；2->支付宝】")
    private Integer payType;

    @ApiModelProperty(value = "微信支付等第三方支付平台的商户订单号")
    private String outTradeNo;

    @ApiModelProperty(value = "微信支付订单号")
    private String transactionId;

    @ApiModelProperty(value = "商户退款单号")
    private String outRefundNo;

    @ApiModelProperty(value = "微信退款单号")
    private String refundId;

    @ApiModelProperty(value = "会员id")
    private Long matchUserId;

    @ApiModelProperty(value = "报名的组别id")
    private Long matchGroupId;

    @ApiModelProperty(value = "团队名称")
    private String teamName;

    @ApiModelProperty(value = "紧急联系人名称")
    private String emergencyContactName;

    @ApiModelProperty(value = "紧急联系人电话号码")
    private String emergencyContactPhone;

    @ApiModelProperty(value = "订单备注")
    private String remark;

    @ApiModelProperty(value = "赛事ID")
    private Long matchId;

}
